+2007-02-15 Øyvind Kolås <pippin@gimp.org>
+
+ * babl/base/model-rgb.c: (premultiplied_to_non_premultiplied),
+ (rgba_gamma_2_2_premultiplied2rgba): avoid divisions by zero,
+ thus making the reference conversions correct.
+
2007-02-11 Øyvind Kolås <pippin@gimp.org>
* NEWS: updated news for many versions.
}
else
{
- *(double*)dst[band] = 0.001;
+ *(double*)dst[band] = 0.00;
}
}
*(double*)dst[dst_bands-1] = alpha;
while (n--)
{
double alpha = ((double*) src)[3];
- ((double*)dst)[0] = gamma_2_2_to_linear (((double*) src)[0] / alpha);
- ((double*)dst)[1] = gamma_2_2_to_linear (((double*) src)[1] / alpha);
- ((double*)dst)[2] = gamma_2_2_to_linear (((double*) src)[2] / alpha);
+ if (alpha > 0.0001)
+ {
+ ((double*)dst)[0] = gamma_2_2_to_linear (((double*) src)[0] / alpha);
+ ((double*)dst)[1] = gamma_2_2_to_linear (((double*) src)[1] / alpha);
+ ((double*)dst)[2] = gamma_2_2_to_linear (((double*) src)[2] / alpha);
+ }
+ else
+ {
+ ((double*)dst)[0] = 0.0;
+ ((double*)dst)[1] = 0.0;
+ ((double*)dst)[2] = 0.0;
+ }
((double*)dst)[3] = alpha;
src+=4 * sizeof (double);